<html>
<body>
<p>Reports recursive <code>equals</code>(<code>==</code>) calls.</p>
<p>
    In Kotlin, <code>==</code> compares object values by calling <code>equals</code> method under the hood.
    <code>===</code>, on the other hand, compares objects by reference.
</p>
<p>
    <code>===</code> is commonly used in <code>equals</code> method implementation.
    But <code>===</code> may be mistakenly mixed up with <code>==</code> leading to infinite recursion.
</p>
<p><b>Example:</b></p>
<pre><code>
  class X {
      override fun equals(other: Any?): Boolean {
          if (<b>this == other</b>) return true
          return false
      }
  }
</code></pre>
<p>After the quick-fix is applied:</p>
<pre><code>
  class X {
      override fun equals(other: Any?): Boolean {
          if (<b>this === other</b>) return true
          return false
      }
  }
</code></pre>
</body>
</html>
